package org.example.test.interview;


import java.util.Arrays;

/**
 * 给你一个非空数组，返回此数组中 第三大的数 。如果不存在，则返回数组中最大的数。
 * <p>
 * 示例 1：
 * <p>
 * 输入：[3, 2, 1]
 * 输出：1
 * 解释：第三大的数是 1 。
 * 示例 2：
 * <p>
 * 输入：[1, 2]
 * 输出：2
 * 解释：第三大的数不存在, 所以返回最大的数 2 。
 * 示例 3：
 * <p>
 * 输入：[2, 2, 3, 1]
 * 输出：1
 * 解释：注意，要求返回第三大的数，是指在所有不同数字中排第三大的数。
 * 此例中存在两个值为 2 的数，它们都排第二。在所有不同数字中排第三大的数为 1 。
 * <p>
 * <p>
 * 提示：
 * 1 <= nums.length <= 104
 * -231 <= nums[i] <= 231 - 1
 */
public class Interview1 {
    public static void main(String[] args) {
        int[] arr = {2, 2, 3, 1};
        thirdMax(arr);
    }

    public static void thirdMax(int[] nums) {
        int[] array = Arrays.stream(nums).distinct().sorted().toArray();
        if (array.length < 3) {
            System.out.println(array[array.length - 1]);
        } else {
            System.out.println(array[array.length - 3]);
        }
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] > nums[j]) {
                    int temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
            }
        }


        int num = nums[2];

    }



    /**
     班级表class：class_id, class_name
     学科subject：subject_id, subject_name
     学生student：student_id, class_id, student_name
     成绩表grade：student_id, subject_id, class_id, score
     */


}
